/**
* \brief 
* \author pengcheng (pengcheng@yslrpch@126.com)
* \date 
* \attention CopyrightÃ‚Â©ADC Technology(tianjin)Co.Ltd
* \attention Refer to COPYRIGHT.txt for complete terms of copyright notice
*/


#ifndef SGM_CENSUS_TRANSFORM_HPP
#define SGM_CENSUS_TRANSFORM_HPP

#include "stereo_vision/impl/device_buffer.hpp"
#include "stereo_vision/impl/types.hpp"

namespace adc {

template <typename T>
class CensusTransform {

public:
	using input_type = T;

private:
	DeviceBuffer<feature_type> m_feature_buffer;

public:
	CensusTransform();

	const feature_type *get_output() const {
		return m_feature_buffer.data();
	}
	
	void enqueue(
		const input_type *src,
		int width,
		int height,
		int pitch,
		cudaStream_t stream);

};

}

#endif
